{{tag> Xenial Focal virtualisation}}
----

====== Docker-Compose ======

[[wpfr>Docker_(logiciel)#Outils_associés|Docker compose]] permet de définir et exécuter de multiple conteneurs [[:docker]].\\ Pour plus d'informations, consulter [[https://docs.docker.com/compose/|la documentation officielle (en)]]

===== Installation =====
==== Depuis les dépôts officiels d'Ubuntu (conseillé) ====
<code bash>apt install docker-compose</code>

==== Avec le binaire ====
Comme la plupart des logiciels, la version obtenue par les dépôts officielles peut-être un peu ancienne

Docker-compose tient dans un fichier binaire, il est donc facile de passer à la dernière version ou à une version spécifique.\\
Tout d'abord, si vous aviez installé une précédente version, supprimez-la, par exemple si version des dépôts officiels :
<code bash>
sudo apt remove docker-compose
</code>
Puis télécharger la version que vous souhaitez à partir de [[https://github.com/docker/compose/releases]] par exemple, pour la v2.2.3 : [[https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64]]\\
puis déplacer le fichier dans :
<code bash>
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
</code>
puis le rendre exécutable :
<code bash>
sudo chmod +x /usr/local/bin/docker-compose
</code>
Vérifier que docker-compose s'appelle correctement :
<code bash>
docker-compose --version
# qui doit retourné une ligne du type :
Docker Compose version v2.2.3
</code>
Ces commandes toutes en un pour la mise à jour sur un serveur donne ((ne le faites sur un serveur en //production// que si vous êtes sûr de ce que vous faites)) :
<code bash>
wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 && sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose && docker-compose --version
</code>

<note>
La mise à jour peut-être faite alors que des containers tournent.\\
Sous [[:bionic]], la version de docker depuis les dépôt officiels est, en mars 2022, la v19.03.13 qui est compatible avec docker-compose v2
</note>
===== Problèmes =====
Si un docker-compose retourne l'erreur :
<code bash>
1 error occurred:
	* error listing credentials - err: exec: "docker-credential-secretservice": executable file not found in $PATH
</code>
dans le fichier ~/.docker/config.json, modifier le mot-clé **credsStore** par **credStore**((source (en) : https://forums.docker.com/t/docker-credential-desktop-exe-executable-file-not-found-in-path-using-wsl2/100225/5))

===== Voir aussi =====

  - https://docs.docker.com/compose/install/#install-compose-on-linux-systems
  - https://github.com/docker/compose#linux

----

//Contributeurs : //
  * //[[:utilisateurs:bcag2|bcag2]]//